//package fz.vrd.library.http;
//
//import com.google.gson.JsonObject;
//
//import java.util.HashMap;
//import java.util.Map;
//
//import io.reactivex.Observable;
//import okhttp3.MultipartBody;
//import okhttp3.RequestBody;
//import okhttp3.ResponseBody;
//import retrofit2.Call;
//import retrofit2.http.Body;
//import retrofit2.http.Field;
//import retrofit2.http.FieldMap;
//import retrofit2.http.FormUrlEncoded;
//import retrofit2.http.GET;
//import retrofit2.http.Multipart;
//import retrofit2.http.POST;
//import retrofit2.http.Part;
//import retrofit2.http.PartMap;
//import retrofit2.http.Path;
//import retrofit2.http.Query;
//import retrofit2.http.QueryMap;
//import retrofit2.http.Streaming;
//import retrofit2.http.Url;
//
//public    interface ApiLibService {
//
//
//    @GET("wisdom/{path}")//测试成功 path:请求路径
//    Call<ResponseBody> getUser(@Path("path") String path, @Query("appTpye") String appTpye, @Query("token") String token);
//
//    @POST("wisdom/padGetVersion") //测试成功
//    Call<ResponseBody> getUser1(@Query("appTpye") String appTpye, @Query("token") String token);
//
//    @GET //测试成功  path:请求路径
//    Call<ResponseBody> getUser2(@Url String path, @Query("appTpye") String appTpye, @Query("token") String token);
//
//    @POST("wisdom/padGetVersion")  //测试成功
//    Call<ResponseBody> getUser3(@QueryMap HashMap<String, String> map);
//
////    @POST("wisdom/padGetVersion")  // 测试失败 需要引入rxjava   加过滤器处理
////    Call<ResponseBody> getUser4(@Body RequestBody body);
//
////    @POST("wisdom/padGetVersion")  //测试失败  需要引入rxjava   加过滤器处理
////    Call<ResponseBody> getUser5(@Body TestBean  data);
//
////    @Headers({"Content-Type: application/json","Accept: application/json"})
////    @POST("wisdom/padGetVersion")  //测试失败 需要引入rxjava   加过滤器处理
////    Call<ResponseBody> getUser6(@Body JSONObject data);
//
//    @POST("wisdom/padGetVersion")
//    @FormUrlEncoded  //表单提交 必须是post  测试成功
//    Call<ResponseBody> getUser7(@Field("appTpye") String appTpye, @Field("token") String token);
//
//    @POST("wisdom/padGetVersion")
//    @FormUrlEncoded  //表单提交 必须是post  测试成功
//    Call<ResponseBody> getUser8(@FieldMap HashMap<String, String> map);
//
//    @POST("wisdom/saveSignIn")
//    @Multipart  //文件上传 测试成功
//    Call<ResponseBody> getUser9(@Part("userId") RequestBody name, @Part("token") RequestBody age, @Part MultipartBody.Part file);
//
//    @POST("wisdom/saveSignIn")
//    @Multipart  //文件上传 测试成功  args:参数   file:文件,没有文件传null
//    Call<ResponseBody> getUser10(@PartMap Map<String, RequestBody> args, @Part MultipartBody.Part file);
//
//    @POST("wisdom/saveSignIn")
//    @Multipart  //文件上传 测试成功  args:参数   file:文件,没有文件传null
//    Call<ResponseBody> getUser11(@PartMap Map<String, RequestBody> args);
//
////    --------------------------------------------正式接口调用方法--------------------------------------------------------------------------------
//
//
//    @POST("{path}")
//    Call<ResponseBody> requestPost(@Path(value = "path", encoded = true) String path, @QueryMap HashMap<String, Object> map);
//
//    @GET("{path}")
//    Call<ResponseBody> requestGet(@Path(value = "path", encoded = true) String path, @QueryMap HashMap<String, Object> map);
//
//    @FormUrlEncoded  //表单提交 必须是post  测试成功
//    @POST("{path}")
//    Call<ResponseBody> requestForm(@Path(value = "path", encoded = true) String path, @FieldMap HashMap<String, Object> map);
//
//    @POST("{path}")
//    @Multipart  //文件上传 测试成功  args:参数   file:文件,没有文件传null
//    Call<ResponseBody> requestMultipart(@Path(value = "path", encoded = true) String path, @PartMap Map<String, RequestBody> args, @Part MultipartBody.Part file);
//
//    @POST("{path}")
//    @Multipart  //文件上传  测试成功  有文件和没有文件都可以
//    Call<ResponseBody> requestMultipart(@Path(value = "path", encoded = true) String path, @PartMap Map<String, RequestBody> args);
//
//    @POST("{path}")
//    Call<ResponseBody> requestBody(@Path(value = "path", encoded = true) String path, @Body RequestBody args);
//
//    @POST("{path}")
//    @Multipart
//    Call<ResponseBody> requestBodyFile(@Path(value = "path", encoded = true) String path, @Part MultipartBody.Part file);
//
//    /**
//     * 下载文件用
//     * @param fileUrl
//     * @return
//     */
//    @Streaming //添加这个注解用来下载大文件
//    @GET()
//    Call<ResponseBody> downloadFileUrl(@Url String fileUrl);
//
////    ---------------------------------------以下是和rxjava结合使用-------------------------------------------------------
//
//    @GET("{path}")
//    Observable<JsonObject> requestGetRxJava(@Path(value = "path", encoded = true) String path, @QueryMap HashMap<String, Object> map);
//
//    @POST("{path}")
//    Observable<JsonObject> requestPostRxJava(@Path(value = "path", encoded = true) String path, @QueryMap HashMap<String, Object> map);
//
//    @FormUrlEncoded  //表单提交 必须是post  测试成功
//    @POST("{path}")
//    Observable<JsonObject> requestFormRxJava(@Path(value = "path", encoded = true) String path, @FieldMap HashMap<String, Object> map);
//
//    @POST("{path}")
//    @Multipart  //文件上传 测试成功  args:参数   file:文件,没有文件传null
//    Observable<JsonObject> requestMultipartRxJava(@Path(value = "path", encoded = true) String path, @PartMap Map<String, RequestBody> args, @Part MultipartBody.Part file);
//
//    @POST("{path}")
//    @Multipart  //文件上传  测试成功  有文件和没有文件都可以
//    Observable<JsonObject> requestMultipartRxJava(@Path(value = "path", encoded = true) String path, @PartMap Map<String, RequestBody> args);
//
//    @POST("{path}")//测试成功
//    Observable<JsonObject> requestBodyRxJava(@Path(value = "path", encoded = true) String path, @Body RequestBody body);
//
//
//    @POST("{path}")
//    @Multipart
//    Observable<JsonObject> requestBodyFileRxJava(@Path(value = "path", encoded = true) String path, @Part MultipartBody.Part file);
//
//
// }
